This invention relates to nonlinear echo cancellation of data signals.
Many data communications systems, e.g., telephone digital subscriber loop transceivers and voiceband modems, use the principle of echo cancellation to achieve full-duplex transmission over a two-wire telephone line. See, for example, D. W. Lin and M. L. Liou, "A tutorial on digital subscriber line transceiver for ISDN," Proc. ISCAS-88, May 1988, pp. 839-846, D. G. Messerschmitt, "Design issues in the ISDN U-interface transceiver," IEEE J. Selected Areas Commun., vol. SAC-4, No. 8, pp. 1281-1293, November 1986, O. Agazzi, D. A. Hodges, and D. G. Messerschmitt, "Large-scale integration of hybrid-method digital subscriber loops," IEEE Trans. Commun., vol. COM-30, pp. 2095-2108, September 1982, and O. Agazzi, D. G. Messerschmitt, and D. A. Hodges, "Nonlinear echo cancellation of data signals," IEEE Trans. Commun., vol. COMM-30, No. 11, pp. 2421-2433, November 1982.
As noted in each of the last two cited references, the performance of echo cancelers can be severely degraded by the presence of nonlinear distortion in the echo signal. This nonlinear distortion is frequently introduced by analog circuits such as digital to analog converters and power amplifiers (typically used to drive the telephone line). Although the use of advanced circuit design techniques and semiconductor technology have resulted in significant reductions in the nonlinear distortion introduced by these circuits, nonlinearity still remains a limiting factor for the performance of data communications systems that use echo cancellation. To overcome this problem, these systems often incorporate nonlinear echo cancelers.
Nonlinear echo cancelers for data signals can be broadly classified into two categories: (1) Structures based on a Volterra series expansion, as described, e.g., in the above-cited Agazzi, Messerschmitt and Hodges paper, and (2) lookup table structures of the type described in N. Holte and S. Stueflotten, "A new digital echo canceller for two-wire subscriber lines," IEEE Trans. Commun., vol. COMM-29, November 1981, C. F. N. Cowan and P. F. Adams, "Non-linear system modelling: Concept and application," Proc. ICASSP-84, San Diego, Calif., March 1984, P. F. Adams and C. F. N. Cowan, "Adaptive digital filter," U.S. Pat. No. 4,694,451, September 15, 1987, G. L. Sicuranza, A. Bucconi, and P. Mitri, "Adaptive echo cancellation with nonlinear digital filters," Proc. ICASSP-84, San Diego, Calif., March 1984, G. L. Sicuranza and G. Ramponi, "Distributed arithmetic implementation of nonlinear echo cancellers," Proc. ICASSP-85, Tampa, Fla., March 1985.
A full lookup table echo canceler has been described in O. Agazzi, C. P. J. Tzeng, D. G. Messerschmitt, and D. A. Hodges, "Timing recovery in digital subscriber loops," IEEE Trans. Commun., vol. COMM-33, No. 6, pp. 558-569, June 1985 to be equivalent to an echo canceler based on an untruncated Volterra series expansion. Such lookup table structures can take advantage of the advances in memory technology, and lend themselves well to denser and simpler VLSI implementations. However, in many cases a full lookup table requires a random access memory (RAM) of excessive size, leading not only to a costly implementation, but also to slow convergence. For this reason, implementations based on a distributed lookup table architecture have been proposed in the above-cited Cowan and Adams references.
FIG. 1 shows such a block diagram of distributed lookup table system based on a well-known transversal filter structure for the case of a 4-level code and second order nonlinear interaction. This architecture can be quite efficient. However, it can be shown that it contains redundant terms. For example, each of the RAMs in FIG. 1 can compensate for a DC offset term, resulting in a total of R offset cancellation terms, when only one of them is needed. The analysis given below reveals that there are several other redundant terms. This redundancy is undesirable, because it leads to slower convergence, and introduces a potential drift in correlated coefficients, whose effect cancels out at the output, and therefore is not corrected by the adaptation algorithm. When running over a prolonged period of time, this drift could lead to overflows.